package com.thank.concurrency.samples.singleton;

import com.thank.concurrency.annoations.NotThreadSafe;

/**
 * 懒汉式
 * 单例实例在第一次使用时进行创建
 */
@NotThreadSafe
public class SingletonExample1 {

    // 私有的构造方法
    private SingletonExample1() {}

    // 单例对象
    private static SingletonExample1 instance = null;

    // 静态的工厂方法
    public static SingletonExample1 getInstance() {
        if (null == instance) {
            return new SingletonExample1();
        }

        return instance;
    }

}
